今天要談的是 JavaScript 的 Hoisting
。
var greet;
console.log(greet);
undefined
var greet = 'Hello';
console.log(greet);
Hello
console.log(string);
var string = 'HI';
undefined
會造成這樣的結果,原因就在 JavaScript 中使用 var
宣告變數時,會將 var
提升(Hoisting
)到最頂端宣告。
var greet;
console.log(greet);
greet = 'Hello';
undefined
簡單來說,不管你在哪一行用 var
宣告變數,都當作在函數的第一行宣告。